草庐IT

Android Explicit Intent 抛出 NoClassDefFounderror

全部标签

调试器中的 C++ 单步抛出异常

我有一个C++应用程序,当我尝试从断点单步执行时会抛出异常。例如:1)从附加了VS20100调试器的启动应用程序。2)设置断点。在哪里似乎并不重要。3)在应用程序中执行某些操作,使其到达断点。**VS2010突破点4)将调试器单步执行到下一行代码。VS2010弹出消息框有这个异常:“SimpleGraphSDI.exe中0x087df66f处未处理的异常:0xC0000005:访问冲突。”请注意,如果我在连续两行代码上设置断点,然后按运行从一行前进到另一行,应用程序将“运行”到下一行代码,不会出现任何问题。访问冲突仅在我使用VS2010中的单步命令时出现。应用程序中的某些代码自VC6以

c++ - 抛出的对象分配在哪里?

这个问题在这里已经有了答案:Howareexceptionsallocatedonthestackcaughtbeyondtheirscope?(6个答案)关闭9年前。例如,当我在函数中使用throw时try{//...throwMyExceptionType()//...}catch(MyExceptionType&exp){/*...*/}MyExceptionType分配在哪里?它在堆栈上吗?如果是这样,在我的catchblock中修改exp是否安全?在catch中调用一些其他函数并使用堆栈怎么样?在类似的情况下,我有:try{charmy_array[32];throwmy_a

c++ - 在模板模板参数中抛出多模板类 - 模板绑定(bind)?

给定以下类:templateclassB>classA{Bb;};我现在可以写这样的代码了:Aa1;Aa2;将除一个参数外所有参数都指定的多参数类放入B中的最优雅方法是什么?像带有int-keys的map?我唯一能想到的是:templateusingC=MyMap;A>a3;是否有这样一个模板等同于std::bind,我们可以只提供一部分参数并保留其中一个参数?我很确定该语言没有提供此功能,但人们之前一定已经解决了这个问题。A>a3; 最佳答案 没有与std::bind等效的内置模板,但您可以自己编写一个。这是一个简单的版本,它绑定

c++ - 在 catch block 中抛出异常会导致两个异常同时发生吗?

这个问题在这里已经有了答案:Nestedtry...catchinsideC++exceptionhandler?(2个答案)关闭去年。考虑以下C++代码:classMyException{};voidsomeFunction(){try{///...codethatmaythrow}catch(std::exception&e){throwMyException();}}问题异常e是在catchblock的开头还是在catchblock的末尾被吸收?在第二种情况下,抛出新的异常会导致两个异常在运行中,这不是我想要的。我想吸收std::exception并开始我自己的类型之一。

c++ - Valgrind 没有抛出错误,但并非所有堆分配都已被释放

这是我用Valgrind执行我的程序后得到的:1jscherman@jscherman:~/ClionProjects/algo2-t4-tries$g++Set.hpptests.cppDiccString.hpp&&valgrind--leak-check=yes--show-leak-kinds=all./a.out2==6823==Memcheck,amemoryerrordetector3==6823==Copyright(C)2002-2015,andGNUGPL'd,byJulianSewardetal.4==6823==UsingValgrind-3.11.0andLi

c++ - C++如何像Java Spring Assert一样检查条件并抛出异常

有没有标准的方法来做这样的事情?可用于Release模式(NDEBUG定义)检查失败时抛出异常。最好使用标准库或boost。为了清楚起见,我在这里使用的“断言”(可能是不同的术语)特别是关于运行时问题,而不是编程问题,例如SpringAssert。在Java世界中。Microsoft.VisualStudio.TestTools.CppUnitTestFramework是很好的候选人,但它是为了测试目的。 最佳答案 在我的一些项目中我使用:voidASSERT(constboolcond,conststd::string&text)

c++ - Concurrent_hash_map 实现抛出 SIGSEGV

我正在尝试使用tbb的concurrent_hash_map来提高我的应用程序的并发性能。阅读它并根据我的应用程序实现它,但我看到崩溃..因此,我的应用程序是一个多线程应用程序,我在其中存储对,键是char*,值是整数。伪代码如下所示:在.h文件中,typedeftbb::concurrent_hash_maptbb_concurrent_hash;tbb_concurrent_hashconcurrent_hash_table;tbb_concurrent_hash::accessorwrite_lock;tbb_concurrent_hash::const_accessorread

c++ - glTexImage3D 抛出错误 1282(无效操作)

我正在尝试通过OpenGL将体积数据作为3D纹理上传。但是,当通过glTexImage3D指定格式和数据本身时,会抛出GL_INVALID_OPERATION错误。代码(包括我添加的用于找出错误来源的调试代码)如下:voidTexture3D::upload(){std::cout我认为它可能是我在glTexImage3D中指定的任何格式、内部格式或像素格式的GL_INVALID_VALUE,但是我已经检查了glTexImage3D的文档一切似乎都是正确的。我创建了一个最小的、可验证的示例(使用GLFW和GLEW)#include#include#includeGLFWwindow*_

c++ - 在 Visual C++ 程序中每次抛出异常时,如何运行一些代码?

如果在C++程序中抛出异常,控制将转移到异常处理程序或调用terminate()。即使程序从处理程序内部(或从terminate()处理程序)发出一些可能为时已晚的诊断-大多数值在调用堆栈中的异常点抛出,不在处理程序中。在Windows上,可以使用[StackWalk64()]获取调用堆栈1功能。关键是如何在正确的时刻调用该函数。有没有办法让VisualC++程序在每次抛出异常(或未设置处理程序的异常)时执行一些用户代码? 最佳答案 如果您想在抛出SEH异常时执行操作,例如发生访问冲突时,那么您可以简单地捕获SEH异常(使用__fi

c++ - g++ 可以检查抛出说明符吗?

关于这个的两个问题:有没有办法强制g++忽略throw说明符?(例如,我记得,VisualStudio会忽略抛出说明符,这与throw()不同)是否有可能强制g++检查抛出说明符是否正确-我的意思是检查(这可以通过one-passcompilers完成)函数是否具有throwspecifiers调用函数,可能只是通过观察他们的throwspecifiers和观察执行throw异常,这将违反说明符?(注意:这不应该监视没有抛出说明符的函数,因为这可能会导致大量警告)编辑:我将为我的第二个问题添加一些示例。假设我们有://sorryforthecodingstylehere,butIdon